Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

287
Visualizações
¿Qué son las "palabras clave blandas"?

Según la documentación del módulo de keyword , se han agregado dos nuevos miembros en Python 3.9:

  • issoftkeyword
  • softkwlist

Sin embargo, su documentación no revela nada sobre su propósito. Este cambio ni siquiera se menciona en el artículo Novedades , donde normalmente se documentan todos los cambios de la API. Profundizar un poco más en el código fuente finalmente conduce a esta solicitud de incorporación de cambios en la que se menciona que "esencialmente se trata de una herramienta interna" y que "todavía no se utilizan palabras clave blandas" . Entonces, ¿cuál es el propósito de las palabras clave blandas de Python?

over 4 years ago · Hanz Gallego
3 Respostas
Responde à pergunta

0

Breve: las palabras clave blandas aún se pueden usar como nombres de variables o argumentos.

PEP 622 arroja algo de luz (Énfasis mío):

La diferencia entre las palabras clave duras y blandas es que las palabras clave duras siempre son palabras reservadas, incluso en posiciones donde no tienen sentido (por ejemplo, x = clase + 1), mientras que las palabras clave blandas solo obtienen un significado especial en contexto.

[...] Las palabras clave de coincidencia y caso se proponen como palabras clave blandas , de modo que se reconozcan como palabras clave al comienzo de una declaración de coincidencia o bloque de caso respectivamente, pero se permite su uso en otros lugares como nombres de variables o argumentos .

over 4 years ago · Hanz Gallego Relatório

0

Las palabras clave blandas son palabras clave que son sensibles al contexto. Por ejemplo, le permitiría usar class como nombre de variable siempre que no se pueda interpretar como una definición de clase. Permitiría usar para reemplazar cls con class por ejemplo.

Hoy eso no es posible, ya que class es una palabra clave:

 >>> def a(class): File "<stdin>", line 1 def a(class): ^

Dado el contexto, está claro que el usuario no tenía la intención de definir una nueva clase, sino que quería un identificador llamado class .

over 4 years ago · Hanz Gallego Relatório

0

Creo que esto se explica mejor con una demostración. async y await eran palabras clave blandas en Python 3.5 y 3.6 y, por lo tanto, podían usarse como identificadores:

 >>> async = "spam" >>> async def foo(): ... pass ... >>> await = "bar" >>> async, await ('spam', 'bar')

Pero en Python 3.7 se convirtieron en palabras clave adecuadas y solo se pueden usar en contextos específicos donde tienen sentido:

 >>> async = "123" File "<stdin>", line 1 async = "123" ^ SyntaxError: invalid syntax >>> async def foo(): ... pass ... >>> await = "bar" File "<stdin>", line 1 await = "bar" ^ SyntaxError: invalid syntax >>> async, await File "<stdin>", line 1 async, await ^ SyntaxError: invalid syntax

La idea de presentarlas por primera vez como palabras clave blandas fue principalmente no romper ningún código existente que las use como identificadores. El mismo razonamiento es con la próxima palabra clave de match que rompería por completo, por ejemplo re.match y millones de proyectos.

over 4 years ago · Hanz Gallego Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda